package com.ruoyi.system.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;



/**
 * 订单视图对象 p_store_order
 *
 * @author ruoyi
 * @date 2022-08-01
 */
@Data
@ApiModel("订单视图对象")
@ExcelIgnoreUnannotated
public class PStoreOrderVo {

    private static final long serialVersionUID = 1L;

    /**
     * 订单ID
     */
    @ExcelProperty(value = "订单ID")
    @ApiModelProperty("订单ID")
    private Long id;

    /**
     * 订单号
     */
    @ExcelProperty(value = "订单号")
    @ApiModelProperty("订单号")
    private String orderId;

    /**
     * 用户id
     */
    @ExcelProperty(value = "用户id")
    @ApiModelProperty("用户id")
    private Long uid;

    /**
     * 用户姓名
     */
    @ExcelProperty(value = "用户姓名")
    @ApiModelProperty("用户姓名")
    private String realName;

    /**
     * 用户电话
     */
    @ExcelProperty(value = "用户电话")
    @ApiModelProperty("用户电话")
    private String userPhone;

    /**
     * 详细地址
     */
    @ExcelProperty(value = "详细地址")
    @ApiModelProperty("详细地址")
    private String userAddress;

    /**
     * 运费金额
     */
    @ExcelProperty(value = "运费金额")
    @ApiModelProperty("运费金额")
    private BigDecimal freightPrice;

    /**
     * 订单商品总数
     */
    @ExcelProperty(value = "订单商品总数")
    @ApiModelProperty("订单商品总数")
    private Long totalNum;

    /**
     * 订单总价
     */
    @ExcelProperty(value = "订单总价")
    @ApiModelProperty("订单总价")
    private BigDecimal totalPrice;

    /**
     * 邮费
     */
    @ExcelProperty(value = "邮费")
    @ApiModelProperty("邮费")
    private BigDecimal totalPostage;

    /**
     * 实际支付金额
     */
    @ExcelProperty(value = "实际支付金额")
    @ApiModelProperty("实际支付金额")
    private BigDecimal payPrice;

    /**
     * 支付邮费
     */
    @ExcelProperty(value = "支付邮费")
    @ApiModelProperty("支付邮费")
    private BigDecimal payPostage;

    /**
     * 抵扣金额
     */
    @ExcelProperty(value = "抵扣金额")
    @ApiModelProperty("抵扣金额")
    private BigDecimal deductionPrice;

    /**
     * 优惠券id
     */
    @ExcelProperty(value = "优惠券id")
    @ApiModelProperty("优惠券id")
    private Long couponId;

    /**
     * 优惠券金额
     */
    @ExcelProperty(value = "优惠券金额")
    @ApiModelProperty("优惠券金额")
    private BigDecimal couponPrice;

    /**
     * 支付状态
     */
    @ExcelProperty(value = "支付状态")
    @ApiModelProperty("支付状态")
    private String paid;

    /**
     * 支付时间
     */
    @ExcelProperty(value = "支付时间")
    @ApiModelProperty("支付时间")
    private Date payTime;

    /**
     * 支付方式
     */
    @ExcelProperty(value = "支付方式")
    @ApiModelProperty("支付方式")
    private String payType;

    /**
     * 订单状态（0：待发货；1：待收货；2：已收货，待评价；3：已完成；）
     */
    @ExcelProperty(value = "订单状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=：待发货；1：待收货；2：已收货，待评价；3：已完成；")
    @ApiModelProperty("订单状态（0：待发货；1：待收货；2：已收货，待评价；3：已完成；）")
    private String status;

    /**
     * 0 未退款 1 申请中 2 已退款 3 退款中
     */
    @ExcelProperty(value = "0 未退款 1 申请中 2 已退款 3 退款中")
    @ApiModelProperty("0 未退款 1 申请中 2 已退款 3 退款中")
    private String refundStatus;

    /**
     * 退款图片
     */
    @ExcelProperty(value = "退款图片")
    @ApiModelProperty("退款图片")
    private String refundReasonWapImg;

    /**
     * 退款用户说明
     */
    @ExcelProperty(value = "退款用户说明")
    @ApiModelProperty("退款用户说明")
    private String refundReasonWapExplain;

    /**
     * 前台退款原因
     */
    @ExcelProperty(value = "前台退款原因")
    @ApiModelProperty("前台退款原因")
    private String refundReasonWap;

    /**
     * 不退款的理由
     */
    @ExcelProperty(value = "不退款的理由")
    @ApiModelProperty("不退款的理由")
    private String refundReason;

    /**
     * 退款时间
     */
    @ExcelProperty(value = "退款时间")
    @ApiModelProperty("退款时间")
    private Date refundReasonTime;

    /**
     * 退款金额
     */
    @ExcelProperty(value = "退款金额")
    @ApiModelProperty("退款金额")
    private BigDecimal refundPrice;

    /**
     * 快递名称/送货人姓名
     */
    @ExcelProperty(value = "快递名称/送货人姓名")
    @ApiModelProperty("快递名称/送货人姓名")
    private String deliveryName;

    /**
     * 发货类型
     */
    @ExcelProperty(value = "发货类型")
    @ApiModelProperty("发货类型")
    private String deliveryType;

    /**
     * 快递单号/手机号
     */
    @ExcelProperty(value = "快递单号/手机号")
    @ApiModelProperty("快递单号/手机号")
    private String deliveryId;

    /**
     * 消费赚取积分
     */
    @ExcelProperty(value = "消费赚取积分")
    @ApiModelProperty("消费赚取积分")
    private Long gainIntegral;

    /**
     * 使用积分
     */
    @ExcelProperty(value = "使用积分")
    @ApiModelProperty("使用积分")
    private Long useIntegral;

    /**
     * 给用户退了多少积分
     */
    @ExcelProperty(value = "给用户退了多少积分")
    @ApiModelProperty("给用户退了多少积分")
    private Long backIntegral;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    @ApiModelProperty("备注")
    private String mark;

    /**
     * 管理员备注
     */
    @ExcelProperty(value = "管理员备注")
    @ApiModelProperty("管理员备注")
    private String remark;

    /**
     * 商户ID
     */
    @ExcelProperty(value = "商户ID")
    @ApiModelProperty("商户ID")
    private Integer merId;

    /**
     *
     */
    @ExcelProperty(value = "")
    @ApiModelProperty("")
    private String isMerCheck;

    /**
     * 拼团商品id0一般商品
     */
    @ExcelProperty(value = "拼团商品id0一般商品")
    @ApiModelProperty("拼团商品id0一般商品")
    private Long combinationId;

    /**
     * 拼团id 0没有拼团
     */
    @ExcelProperty(value = "拼团id 0没有拼团")
    @ApiModelProperty("拼团id 0没有拼团")
    private Long pinkId;

    /**
     * 成本价
     */
    @ExcelProperty(value = "成本价")
    @ApiModelProperty("成本价")
    private BigDecimal cost;

    /**
     * 秒杀商品ID
     */
    @ExcelProperty(value = "秒杀商品ID")
    @ApiModelProperty("秒杀商品ID")
    private Long seckillId;

    /**
     * 砍价id
     */
    @ExcelProperty(value = "砍价id")
    @ApiModelProperty("砍价id")
    private Long bargainId;

    /**
     * 核销码
     */
    @ExcelProperty(value = "核销码")
    @ApiModelProperty("核销码")
    private String verifyCode;

    /**
     * 门店id
     */
    @ExcelProperty(value = "门店id")
    @ApiModelProperty("门店id")
    private Long storeId;

    /**
     * 配送方式 1=快递 ，2=门店自提
     */
    @ExcelProperty(value = "配送方式 1=快递 ，2=门店自提")
    @ApiModelProperty("配送方式 1=快递 ，2=门店自提")
    private String shippingType;

    /**
     * 店员id/核销员id
     */
    @ExcelProperty(value = "店员id/核销员id")
    @ApiModelProperty("店员id/核销员id")
    private Long clerkId;

    /**
     * 支付渠道(0微信公众号1微信小程序2余额)
     */
    @ExcelProperty(value = "支付渠道(0微信公众号1微信小程序2余额)")
    @ApiModelProperty("支付渠道(0微信公众号1微信小程序2余额)")
    private String isChannel;

    /**
     * 消息提醒
     */
    @ExcelProperty(value = "消息提醒")
    @ApiModelProperty("消息提醒")
    private String isRemind;

    /**
     * 快递公司简称
     */
    @ExcelProperty(value = "快递公司简称")
    @ApiModelProperty("快递公司简称")
    private String deliveryCode;

    /**
     * 用户拼团活动id 0没有
     */
    @ExcelProperty(value = "用户拼团活动id 0没有")
    @ApiModelProperty("用户拼团活动id 0没有")
    private Long bargainUserId;

    /**
     * 订单类型:0-普通订单，1-视频号订单
     */
    @ExcelProperty(value = "订单类型:0-普通订单，1-视频号订单")
    @ApiModelProperty("订单类型:0-普通订单，1-视频号订单")
    private String type;

    /**
     * 商品总价
     */
    @ExcelProperty(value = "商品总价")
    @ApiModelProperty("商品总价")
    private BigDecimal proTotalPrice;

    /**
     * 改价前支付金额
     */
    @ExcelProperty(value = "改价前支付金额")
    @ApiModelProperty("改价前支付金额")
    private BigDecimal beforePayPrice;

    /**
     * 是否改价,0-否，1-是
     */
    @ExcelProperty(value = "是否改价,0-否，1-是")
    @ApiModelProperty("是否改价,0-否，1-是")
    private String isAlterPrice;

    /**
     * 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
     */
    @ExcelProperty(value = "商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号")
    @ApiModelProperty("商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号")
    private String outTradeNo;


}
